//引入请求接口
import {loginApi} from "../../http/loginApi";
//引入 dispatch 同步方法
import {loginMutation} from "./userReducer";

//引入md5 加密算法
import md5 from "js-md5";

//异步actions
export const loginAction = function (user){
    return async function(dispatch){
        const result = await loginApi({
            username:user.username,
            //这里采用前端加密算法，加密传输密码
            password:md5(user.password)
        })
        //请求成功
        console.log(result.data.code )
        if(result.data.code ==200){
            const userInfo = result.data.data
            console.log('处理请求',userInfo)
            dispatch(loginMutation({
                userId:userInfo.userId,//登录用户的ID
                token:userInfo.token,//登录用户的凭证
                avator:userInfo.avator,//登录用户的头像
                route:userInfo.route
            }))
            sessionStorage.setItem('userId',userInfo.userId)
            sessionStorage.setItem('token',userInfo.token)
            sessionStorage.setItem('route',JSON.stringify(userInfo.route))
            sessionStorage.setItem('avator',userInfo.avator)
        }
        return Promise.resolve(result)

    }
}

